Skip to main content

Backrest GUI (Restic)

This homelab uses Backrest as the primary backup management and orchestration tool. Backrest is responsible for scheduling, executing, and monitoring all backup jobs across the environment, as well as providing a central interface for browsing and restoring data.

All backups in this environment are performed through Backrest, which acts as a control layer on top of restic, handling both local and offsite backup targets as part of the overall 3-2-1 backup strategy.

Backrest – Web UI and Orchestrator for Restic

Backrest is an open-source, web-accessible backup solution built on top of the powerful and secure restic backup tool.
It provides a user-friendly Web UI, scheduling capabilities, repository management, snapshot browsing, and restore operations — all accessible through a browser or REST API — while still allowing advanced users to use restic directly if needed.


Why Backrest?

Restic itself is a reliable and efficient command-line backup tool, but its CLI-first nature can make management, scheduling, and restores less approachable for some use cases. Backrest fills this gap by:

  • Exposing a web interface for easier interaction
  • Wrapping restic commands into an intuitive UI
  • Providing scheduling and orchestration of backups
  • Offering snapshot browsing and restoration without CLI-only workflows
  • Supporting notifications and hooks for advanced workflows
    oaicite:1

Core Concepts

Backrest introduces a few core concepts that underpin how it manages backups:

🔹 Restic Repository

This is the actual storage location where backup snapshots are kept. Backrest manages this internally, or can connect to existing restic repositories.

oaicite:2

🔹 Backrest Repository

A Backrest repository configuration includes:

  • The backup storage location (local drive, cloud, SFTP, etc.)
  • Encryption credentials
  • Backup orchestration and scheduling settings
    These settings define how and where backups are stored.
    oaicite:3

🔹 Backup Plan

A “plan” in Backrest configures:

  • What data to back up
  • When to take snapshots (schedule or cron expression)
  • How long to retain backups (retention policy)
    Plans automate repeated backup execution based on your configuration.
    oaicite:4

How Backrest Works

🛠 1. Installation & Startup

Backrest is distributed as a single lightweight binary (built with Go) that includes the Web UI and manages restic as a dependency. When run, Backrest starts a local web server (default http://localhost:9898).

oaicite:5

You can install Backrest via:

  • Official binary releases
  • Docker container
  • Package systems (e.g., Homebrew for macOS)
  • Manual build from source
    oaicite:6

Once started, you’ll be prompted to create credentials for the UI on first launch.

oaicite:7

🗄 2. Repository Setup

In the UI, you can add a repository by specifying:

  • A repository name
  • The URI (e.g., local path or cloud backend like S3, B2, GCS, Azure, SFTP, or an rclone remote)
  • Credentials (environment variables or injected secrets)
  • Backup schedule and retention policy

Backrest will then manage this repository, including encryption and snapshot lifecycle.

oaicite:8

📅 3. Backup Orchestration

Backrest takes care of backup orchestration by:

  • Scheduling snapshots (intervals or cron)
  • Running restic backup operations on schedule
  • Performing maintenance tasks (e.g., prune, check)
  • Logging execution results in the UI
  • Optionally running hooks before/after operations (e.g., sending notifications or running custom scripts)
    oaicite:9

📁 4. Browsing & Restore

The Web UI lets you:

  • View snapshot histories
  • Browse snapshot contents
  • Restore files or entire folders directly through the interface
    This makes recovery simpler, especially when compared to using restic CLI commands manually.
    oaicite:10

Advanced Features

Backrest also supports:

  • Notifications: Integration with Discord, Slack, Gotify, and others
  • Hooks: Run custom commands at key backup lifecycle events
  • API access: Trigger backups or query status via HTTP API (for automation)
    oaicite:11

Summary

Backrest is a powerful front-end and orchestrator for restic that combines reliability with usability. By providing an intuitive Web UI, scheduling, automation, and snapshot management, Backrest makes restic backups more accessible and easier to maintain — especially for homelab operators and self-hosted environments.

oaicite:12